﻿
namespace PronosGestor
{
    public class MatchJoue : Match
    {
        public Cote CoteMatch { get; set; }

        public MatchJoue()
            : base()
        {
            CoteMatch = new Cote();
        }

        public bool EstMathJoue
        {
            get
            {
                return this.ResultatMatch.ScoreDomicile != "";
            }
        }

        public double Gain(MatchPronostique unMatchPronostique)
        {
            if (this.ResultatMatch.TypeResultat != 'X')
            {
                double gainResultat = 0;
                if (unMatchPronostique.ResultatMatch.TypeResultat == this.ResultatMatch.TypeResultat)
                {
                    switch (this.ResultatMatch.TypeResultat)
                    {
                        case '1':
                            gainResultat = this.CoteMatch.Cote1;
                            break;
                        case 'N':
                            gainResultat = this.CoteMatch.CoteN;
                            break;
                        case '2':
                            gainResultat = this.CoteMatch.Cote2;
                            break;
                        default:
                            break;
                    }
                }
                // vérification du score exact
                if (gainResultat > 0)
                {
                    if (this.ResultatMatch.ScoreDomicile == unMatchPronostique.ResultatMatch.ScoreDomicile &&
                        this.ResultatMatch.ScoreExterieur == unMatchPronostique.ResultatMatch.ScoreExterieur)
                    {
                        gainResultat *= 2;
                    }
                }
                return gainResultat;
            }
            else
                return 0;
        }
    }
}
